package com.soft.mainsite.module.data.service;

import com.github.pagehelper.PageInfo;
import com.soft.mainsite.module.data.dto.DataQueryParams;
import com.soft.mainsite.module.data.entity.MainData;
import com.soft.mainsite.module.data.viewmodel.CategoryVM;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author: hjm
 * @Date: 2020/11/25 0:24
 * Stay hungry,stay foolish!
 */
public interface DataService {

    /**
     * 分页查询资料相关列表
     *
     * @param queryParams 查询条件
     * @param pageNumber  当前页码
     * @param pageSize    每页条数
     * @return
     */
    PageInfo<MainData> pageDataByConditions(DataQueryParams queryParams, Integer pageNumber, Integer pageSize);

    /**
     * 新增上传文件资料
     *
     * @param mainData 文件资料
     * @return 是否上传成功
     */
    String saveMainData(MainData mainData);

    /**
     * 删除文件资料
     *
     * @param ids 需要删除的文件资料id列表
     * @return 是否删除成功
     */
    String delete(Long[] ids);

    /**
     * 根据学科名字模糊查询学科列表
     *
     * @param categoryName 学科名查询条件
     * @param userPhone    用户手机号
     * @return 学科列表
     */
    List<CategoryVM> getCategoryList(String categoryName, String userPhone);

    /**
     * 根据分类id和用户手机号查询资料列表
     *
     * @param categoryId 分类id
     * @param userPhone 用户手机号
     * @return 资料列表
     */
    List<MainData> userDataList(Integer categoryId, String userPhone);

    /**
     * 查询体验页面的6条数据
     *
     * @return 6条数据
     */
    List<MainData> experienceList();

    /**
     * 更新资料内容
     *
     * @param mainData 需要更新的资料
     * @return 是否更新成功
     */
    String updateMainData(MainData mainData);
}
